{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Baseball batting average estimation\n",
    "\n",
    "One of the primary goals in sports analytics is separating talent or skill from random chance when interpreting observed outcomes. While we ultimately care about outcomes (games won, points scored, base hits), it is only the skill associated with the player or team that is useful in predicting future outcomes. This is certainly the case in baseball, where even very good players can have lengthy spells without getting a hit, and likewise, below-average players can go on hitting streaks.\n",
    "\n",
    "The following example, taken from Efron and Morris (1975) illustrates this point: the data comprise 18 batters that have, by a particular date in the 1970 season, accumulated 45 at bats (chances to get a hit). The number of hits range from 7 to 18. Yet, how can we be sure that the players with more hits are more skilled than those with fewer? We can use a Bayesian modeling approach to estimate the batting averages (the expected proportion of at bats that result in hits) for the players, using partial pooling to adjust extreme values, thereby hedging our bets where luck may have been at play."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import arviz as az\n",
    "import pymc4 as pm\n",
    "import tensorflow as tf\n",
    "import pandas as pd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.read_csv(pm.utils.get_data('efron-morris-75-data.tsv'), sep=\"\\t\")\n",
    "at_bats, hits = data[['At-Bats', 'Hits']].values.T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>FirstName</th>\n",
       "      <th>LastName</th>\n",
       "      <th>At-Bats</th>\n",
       "      <th>Hits</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Roberto</td>\n",
       "      <td>Clemente</td>\n",
       "      <td>45</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Frank</td>\n",
       "      <td>Robinson</td>\n",
       "      <td>45</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Frank</td>\n",
       "      <td>Howard</td>\n",
       "      <td>45</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Jay</td>\n",
       "      <td>Johnstone</td>\n",
       "      <td>45</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Ken</td>\n",
       "      <td>Berry</td>\n",
       "      <td>45</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  FirstName   LastName  At-Bats  Hits\n",
       "0   Roberto   Clemente       45    18\n",
       "1     Frank   Robinson       45    17\n",
       "2     Frank     Howard       45    16\n",
       "3       Jay  Johnstone       45    15\n",
       "4       Ken      Berry       45    14"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data.iloc[:, :4].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Since batting data can be modeled as a Binomial process, with the number of at bats as the sample size and the number of hits as the count of events. The naive approach to estimating the latent batting average for each player would be to assign independent priors for each player, but this would not do an adequate job of accounting for luck for players with extreme numbers of events. Instead, we want to constrain the hit probabilities by modeling the population of batting averages, using a hierarchical model.\n",
    "\n",
    "A natural hierarchical model for binomial probabilities is the beta distribution. Here, we will use a reparameterization of the beta, which uses the mean probability ($\\phi$) and variance ($\\kappa$), which are related to the shape and scale parameters more commonly used with beta distributions as follows:\n",
    "\n",
    "$$\\alpha = \\phi \\kappa$$\n",
    "\n",
    "$$\\beta = (1 - \\phi) \\kappa$$\n",
    "\n",
    "Here is the hierarchical binomial model in PyMC4:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "N = len(hits)\n",
    "\n",
    "@pm.model\n",
    "def baseball_model():\n",
    "    # Population mean batting average\n",
    "    phi = yield pm.Uniform(\"phi\", 0, 1)\n",
    "    \n",
    "    # Population batting average variance\n",
    "    kappa_log = yield pm.Exponential('kappa_log', rate=1.5)\n",
    "    kappa = yield pm.Deterministic('kappa', tf.math.exp(kappa_log))\n",
    "    \n",
    "    # Latent batting average for each player\n",
    "    thetas = yield pm.Beta('thetas', phi * kappa, (1 - phi) * kappa, batch_stack=N)\n",
    "    y = yield pm.Binomial('y', total_count=tf.constant(at_bats, dtype=tf.float32), probs=thetas, observed=tf.constant(hits, dtype=tf.float32))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "CPU times: user 2min 5s, sys: 7.32 s, total: 2min 12s\n",
      "Wall time: 56.6 s\n"
     ]
    }
   ],
   "source": [
    "%time trace =  pm.inference.sampling.sample(baseball_model(), num_chains=128)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we plot the posterior estimates alongside the maximum likelihood estimates, we can see the shrinkage that the hierarchical model has imposed. The highest batting averages are still the largest, but are not unrealistically large (there has not been a .400 hitter since the 1940s), while the lowest averages are similarly pulled toward the population mean."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbgAAAGpCAYAAAD/QCONAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdeZzVVf3H8dd7RB3GMEQFkW1SoTQ1cUsNtxTS1CL3Gi1cQsUVUUvJJJXA0ojkJ6KplEyJmmJobqCIJOWGC6KBCoMMu2yDM6DI5/fHORe+XO7s+53P8/GYx517vt/vOed7Ge7nnvM99/uRmeGcc85lm5zG7oBzzjlXHzzAOeecy0oe4JxzzmUlD3DOOeeykgc455xzWckDnHPOuazkAc65SNKxkqZJKpO0QtKDkjpUcswYSSZpXBXbyJF0vaR5ktZJelvSaRn2GyRpgaQlkoZJyknb/m1JJZK6VfMcT5T0pKSlkr6I9f9T0o+qU09NSMqPr1W/RNlYSfMy7HNhFeqbJ2lsHfXtmNju8TU8dkj6v1FTk+n1z3ZN+h/EuYYi6UjgOWAVcBpwJXAUMFnS9uUccwRQAKypRlO3AEOAUcCJwH+ARyR9P1Hvd4HhwM3AVcClwE8T27cBRgO/NbOiqjYs6Q7gX0AZcBlwXHxcBTws6VvVOI+6cgtQ78G1nh0D3IS/nzY5rRq7A841ETcBRUBfM9sAIOkD4FXgAuCu5M6StgXuAYYCF1WlAUntgWuA4WZ2eyx+UdJehID2r1h2IvC8md0Tjzs6lo2N2wcAuUCqjqq0fQ5wNXCNmd2RtvkRSSOBlRUcv72Zra9qe1VlZh/VdZ3ZoL5e75bGP3E4FxxGCCobUgVm9hrwKZlHGNcC2wDpwaIi3wO2A9KnM8cB+0n6Wny+HWGUlfIZIaARp0xvBi41sy+q0fYNwMwMwQ0AM3vDzObHNobEqax9JT0raS3wcGpfSadK+o+kUkmrJD0iqWuyPkl5ku6S9KmktZL+CXRObzd9ijJhO0l/iFOppXFaNb+yk5T0NUmFkpZJWi/prZpOv8a+LZDUU9LLsR9zJF2c2GcI4cMRwBfxdbPE9jxJt0maK+nz+Dg4OZ2ZmB49VdK9kpYBSySdGcv3z9C3pyW9lXh+maTpcWp9Vfz3Oakm551NPMA5F3wJfJ6hfD2wb7JA0p7Ar4ABZpbpmPJ8M9b3YVr5e/Fxn/j4X+B4SQfG0d0ZhKlMCKO2p8zsxao2Kml3YG9gYjX6CvAE8BLwA2BErOti4B/ALOB0wuh1X+AlSW0Sx44BLgT+AJwK/A/4WzXavh7oDpxHmKI9CHgujpwzktSF8Np9CxgY+/0m8A9JP6hG20k7xn6PA34IvAaMlnRs3P5n4L74ey/g8PiDpFbAs4TXYSRhFP5n4Ebg9xnauhMQcC7QD/gnsBo4J+08OwDHAw8mivNj3WcAZwGvA09KOrEmJ501zMx//KfF/xCmIv+bVtYN2AisTyt/HhiXeD4v+byCNu4BFmco3wsw4Nz4fBvCiMnizwvADsDRhGnEDtU8t2/Hei6q4v5D4v5XppV/hfCGe39aeT7hw8FV8fnXCR8Yfpm23+hYb79E2VhgXlpdRgigOYny78TyC9Je97GJ5/cBy4CdM/x7vVXJOR8T6z8+rW8GHJso2x5YDtyT4fVqlVbnubH8qLTywfH1ap/W9uMZ+nUvsCDttbgK2AB0LOdccgiXn54Dnsjw2vYr73XIth8fwTkXjAQOlXSrpPaSvkH4hLwx/gCbrmUdQriWVl0ivMFkKt/EzL40szOBTkC+mX2X8Ib4f8CvzGyJpCslfRyn8O6W1LoG/anM42nPDyeMaAoltUr9EN6APyAsyoEQUHNITGtGD1Wj7UfNbNPrbmb/ju0cXsExJxCuY65O69+zwLck7ViN9lNKLTFatnBdbA7QtfxDtuhPEfBKWn+eA7YlTIsnpb/eEP4GOwHfTZSdC0wys0WpAkkHxWncJYTg9wXQm/Bho8XyAOccYGaFwK3AIGAJYQRRTHjDXAQg6SuEKbfbgHWS2kpqS/h/tG18Xu4UGrAC2EmS0sp3SmxP9mmhbV4leRWwjjA91puw+vBUwrTnoYRrbOX5JD5W6ysFxPNOaB8fJxHeQJM/+wE7x+0d4+OStOPTn1ck075LCG/25WlPWG2a3rfUdODO5RxXkUwLb9YTr4lWoj3hNU/vz6vl9Cf99QZ4mTBSPRdA0t7AgSSmJ+PU7GSgHXA5cAThQ9gzVexn1vJVlM5FZnajpOHAHsDSOFJ6H5gWd9kF2BX4bfxJ6gKcSViQMqGcJt4jTHHtyZbX4VLX3mZlOkhSZ8I1v+PNbKOkEwgLYt6K2x8gvLHfWM55LYzncQoVB8KtDk17/ml87Mfm64ZJJfEx9UbdAfg4sb3C7xSmybRvB+CtDOXJ/r1M+ACSycJqtF8XPgXmEv4uMpmX9nyr0b2Zpb5jeZWkSwiBbi1bjvZOAL4KnGlmC1KFkvJq3vXs4AHOuQQz+wx4FyAGkm8QviYAsBg4NsNhD8VjhgIzK6j+GcJUYwHwm0T5OYQVjnPLOe6PQKGFVZ0pOyR+/wpp05wZ/BZ4UNLVZvaH9I2SegKfWlxJWY5XCEFsLzP7SwX7/ZcwrXsm4esPKWdX0sek0yUNSU1TSvoOYRXm9AqOeYYwhfmemZVVsF9dSy3nb83mIJ/qz2nAWjP7oBb1P0j4gHMq4W/nH2ZWmtieCmSbVtVK6kG4brmAFswDnHNseoM/kbDqDsKKuGuB35nZKwBmtg6YkuHYdcASM5uSVr4B+IuZXRCPXyppBHC9pJLY1lmE6ys/LKdf3wOOZMtrKZOAKyUNIIxKLmfzd+QyMrNxkg4E7pB0OOH62GLCNNpJhJHBwUC5Ac7M1ki6Fvg/SbsCTxMWnXQiLICZYmZ/M7P/SfobcHNcDv8a4XrQ98urO4M2wARJYwij5mGEa19/reCYXxOm/6ZKGkUYIe1EWOW5h5mdX432qyM18h4k6WngSzN7HSgkrAKdrPAl+7cJXwHZk7DCs29aoMrIzGZL+i/hw0Intlw9CeHvYQPw19hOR8IHqPm08MtQHuCcCz4nvAFfR5hGfB+42MweqEWd28SfpMGEKaYrgd0Iy+fPNLOtlvAr3EFlFHCtma1KlZvZ05JuIEw35hGmRG+trDNmdrWkSYRl93cBbQnX/f4DnGpmb1ehjjGSPiEE/58QFksUA1PZcvrwonie1xDe1F+I+0+jaoYRVpeOJYxWXwQuswq++2dm8yUdTFjV+FtCYPyUMKquaMRZW08SXs8BhCArQGb2RfyA8kugP/A1wncaPwKeIvPXUsrzIOFvoZjwWmxiZu9JKiB8P/Kfsf5fEqYuj6nxWWUBxeWjzjnnXFZp0cNX55xz2csDnHPOuazkAc4551xW8gDnnHMuK/kqSlcjJ5xwgi1fvryxu+Gca+HeeOONZ83shEzbfBWlqyn/w3HONQXl3uTApyidc85lJQ9wzjnnspIHOOecc1nJA5xzzrms5AHOOedcVvIA55xzLit5gHPOOZeVPMA555zLSh7gnHPOZSUPcM4557KSBzjnnHNZyQOcc865rOQBzjnnXFbyAOeccy4reYBzzjmXlTzAOeecy0oNFuAkDZE0s6Haq2+S5km6prH74ZxzLrNKA5yksZIs/myQNF/SaEk7NUQHq0LSMbF/u9RRfR0kjZT0kaT1koolPS3p+3VRf0Or69fHuWyytGQdbxStZGnJusbuSvNRWAj5+ZCTEx4LCxu7Rxm1quJ+k4Bz4/77APcDbYEf11O/qkzSdnVcXz7wb6AEuB54m/BB4DjgbqBrXbbnnGs8E2YUM2Tie3Rrl0fRilKGnPJN+vbs1NjdatoKC6F/fygtDc+LisJzgIKCxutXBlUNcOvNbHH8fYGk8UC/5A6SugIjgeNj0fPAFWa2IG2/C4FfA7sCzwIXmtnyxPbzgGuBPYD5wGhgpJltjNsNuIwQcL4HPA2cFg9fJgngL2bWT9L2wG2EQPxV4C3gGjObVsG53gUIONjM1ibK35dU7scUSV8Ffg/0BVoDbwKDzOz1uL0fMAo4AxhBCJSpDw69gWFAe+CfQH8zK4vHKb4eFwG7Ax8Ct5nZuLg9H5gLnA5cDHwHmAdcaWbPx+0vlvP6VFi3az7OGjO9sbtQZxasLKV4VcOMpnJb5TDx8l5079CGOUtKOOXOaVw1/q0Gabs8ndrm0nmnvEbtQ0VG3TCIXVPBLaW0lGVXDOKytXvUqu7xFx1eq+PTVfsanKQ9gBOALxJlAiYAHYDvAscS3jAnxG0p+cA5wA8JgbA7YTSYqufnwG8JAXBvYBDwC2BAWjduAv4F7Be3pwLcN4GOwJXx+e+As4DzgZ7Au8AzkjqWc27t4rmNSgtuAJjZynKOE/AU0Ak4ObY1FXghra3t4zkVEAL0wcCjwM/iOfSNxyfP91bgAuBSwuh5GDBG0klp3RgK/An4FvAa8JCkrwCfVPD6VLVu57JSx7at6d6hDQDdO7ShY9vWjdyjpm/nFUurVd6YqjqCO0HSWmAbIDeWXZ3YfjzhjXVPM5sHIOknhBHBcYSRCoSRzU/NbH7c5yLgZUndzWwOcCNwnZk9GvefK2k44Q1/VKK98Wb259QTSV3ir0tTo0FJOwCXEEaIT8WyiwkB+FLgVxnOcy/C6O39Kr4uKccCBwC7pkZewI2STiGM0H4Xy1oBl5rZ/2J//gYMBDok+v1ErO+OeA5XA33M7OXEa3JoPIenEn0YYWYTYx03AD8FDjCzaZJWlPP6VLVu18TV9SffxjTi+dmMnDynQdpatKqMOUtKNo3gFq0qq/ygenb6QV0Y2LtHY3ejfMO6hmnJNDnduja5v8OqBripQH9CgPo5sCdhtJCyN7AwFdwAzOxjSQsJI4NUgCtOBbfov8BGYG9Jq4AuhBHE6LQ+JkeBAK9Xoc97AtsSrqel+vSlpOmxT5mkt1NVBwF5bJ4CTMmN/UhZnwpu0RJgcXKKNpal+rdPrOOZODWbsi1hGjLpncTvC+Nj+wr6XJ26nWswA3v3aLA3+AkzijljzPRN1+CGn7a/X4OrzNChW16DA8jLC+VNTFUDXKmZfRh/v0LSi4TR1pBYJsAyHVhBebrUdOnFwCuV7PtZFepLRZpM7ZfXpzlx297A41VoIyWHEJiOzLBtTeL3DRn68UWGstRrkXo8hXA9Min9uE3PzcxioK1oCro6dTuXlfr27MQRe+3MJyvK6NKuNe3b5FZ+UEuXWkgyeDDMnw9du4bg1sQWmEDVA1y63wBPS7rHzBYCs4BOkvITU5R7EK7DzUoc10lSFzP7JD4/lPBG+76ZLZFUTJjm/Gs1+/N5fNwmUfZhLO8FfBz7tA1wOPC3TJWY2QpJzwKXSfpT+nU4SW3NbFWGQ98kXH/caGYfV7PvFZkFrAe6mdkLtagn0+tTV3U716y1b5Prga26CgqaZEBLV6MAZ2ZTJL1HuI41gDAF+TZQKOkKwujpTsIbf/LNswz4i6SrCdOddwNPxetvEEaEd8bpyn8RpssOBDqZ2bAKulREGPmcJGkiUGZma+NU53BJywkrDQcSAtFdFdQ1gDCCfF3SjYSpPxGui11P5q8JTCJMhT4h6TrgA2A3woKVSYlrXNViZiWSbgdujwtZpgJfAQ4jBNN7qlhVptenrup2zrkmqTZ3MvkDcIGkbmZmhBWAy4AphGXpi4G+cVvKPOAhYCIh8H0MnJfaGBeOnE9YmPE28DLh2t/cijpiZsWElZVDCVOFqQUpvwAeBh4gfEVgf+AEM1tUQV1zCUH1ecJXDN6Jff0BYTl9pmMM+H7c717gf7Hdr7P5elhNpaaCrwHei/06jUpek7T+lff61Lpu55xrqrRl/HGuyvwPxznXFJS7ONBvtuyccy4reYBzzjmXlTzAOeecy0oe4JxzzmUlD3DOOeeykgc455xzWckDnHPOuazkAc4551xWajEBTtKtkholk6GkcZIm1HYf55xzVdegAU7SWEmW4eeAhuxHVUmalujj55I+kjRU0nb10NylpGVJd87V3tKSdbxRtJKlJQ2TJbxJKiyE/HzIyQmPhYWN3aMGUdNsArUxiXCvyaTlmXaUtJ2ZfZ5pWwO6l5BhfDvg24QM5BsJ93GsM2a2ui7rc86FfG9DJr63Kd/bkFO+2fLyvRUWbpm/ragoPIdmkRGgNhojwK03s8WZNkiaRrgp8ueEIPghcLikawkZqvcAVhKyTV+XCgqSLgRuB84ARgLdCMlUzzOzrVPPhmPygeeIN3Q2sy/L6W9por/zJZ0D9CER4CR9CxhBSMVTCjwBXGVmyVxwSLqJMFJrDYwHLjOzdXHbOOArZtY38Vq8ScjAcCEhl9xY4Hoz2xj3OZ1wE+W94n7vAGeY2bK4fQAwiJBItggYZmb3x22tCHnffg6cSMh8sBj4lZn9vZzXwjWys8ZMb+wu1IkFK0spXlX/I6rcVjlMvLzXpozdp9w5javGN8qVCjq1zaXzTnkN3u6oGwaxazI5KUBpKcuuGMRla/eo17YbO8N3U7wG9zPCm3kvQmYBgC+BK4B9gXOA7wB/TDsuD7guHn8EsDPlpMWR9E1CepsJZnZBBcEt/biehCD2RaLsK8CzhMB7KOFu/EcRRn5JxxESqR5LCMTfB35bSZM/IwTMw4GrCHf9Py222wn4O3BfrPcoEnnuJJ1BeI3uILxu/wfcI+nEtDZuAv4BfAt4DBgrqXMl/XKuWejYtjXdO7QBoHuHNnRs27qRe9Twdl6xtFrl2aRBswlIGksIUMmPbi+b2Ylx+zRgBzPrWUk9JxPS0ewQs1dfSAgoe5nZR3GfnwF3m1nr+PxW4GRCxvCngN+b2fBK2plGCFqfE3LTbUcItqeb2YS4zyWENDRdzOyzWHY8IfXMHmY2N47OToz7lMZ9+gGjgXZmVlbOCM7M7MhEf14E/mdmF0s6lDBK7RzT4aT3/b/A22bWP1E2Lu5/TGIEd6uZ3Ri3bweUAD8zs4cqem3wbAKuFkY8P5uRk+dUvmMtZRrBrduwsd7bzeTK47ozsHePhm84Pz9MS6br1g3mzWvo3tSHcrMJNMYU5VRCjreUsrTtr6cfEAPG9cA3gB0JmalbA7sCqY8hpangFi0EciXtmJgq7ApMJkzDjahifwsJAeyrsQ+LU8Et2psQSD5LlP07sS2VW+3tVHCLpgO5wNfYMut50jtpzxcC7ePvbxJy770v6TlCQP2HmaWuZ+7N1iPYacDN5bVhZp/H5LDtca4eDezdo0He7CfMKOaMMdM3XYMbftr+Le8a3NChW16DA8jLC+VZrjECXKmZfVjB9mSgQNIewJOE0c5gYAVwCDCOMKJK+YItpUYYyWnYZUAx8GNJ91dxYcfqVH8l/YQQUM4xs3GpLrL1aMbSHmsq0znlAJjZBknfJUxf9iEkYx0u6Ugzm1lB++ll5bbhXHPXt2cnjthrZz5ZUUaXdq1p3ya3sbvU8FILSQYPhvnzoWvXENyyfIEJNI83skMII7ZBZvYfM5sN1PQjWBlhmvIz4HlJX63OwXFF5zDgNkmp/ymzgAMk7ZDYtVd8fD9R9i1JyQsAhwHrqUX2bAteMbMhwEGE0eyZibZ7pR3Si/JHi85lpfZtcjmo204tM7ilFBSE6ciNG8NjCwhu0DwC3BzCSPMKSV+TVABcXtPK4jThSYTFG89VN8gBD8b+DEg8/xz4i6R9JR1DGG0+bGbzEsdtB9wnaR9J3yMsMLnbzNKnaKtE0hGSbpB0sKSuQF+gM5sD2O+BfpIukdRd0lXA2cDvatKec841N00+wJnZm8DVwLWEN+9+hNWStakzFeTKgGerE+TMbD1hReIvJe1gZmuB7wHtgNcIKxFfJiy/T5pMCNYvEVYtPku4pldTqwkrJ/8FzCYErptSi0PM7FE2r7x8j/D1hIvM7OlatOmcc81Gg66idFnF/3Ccc01Buasom/wIzjnnnKsJD3DOOeeykgc455xzWckDnHPOuazkAc4551xW8gDnnHMuK3mAc845l5U8wGUg6VZJjZM0qpFJWhdz3jnnXLPWZAOcpLGSLMPPAY3dt0wkTZOUnqMOSWdL2tAYfXLOuZasyQa4aBLQMe1nZqYdYy4zVwX+WrlssrRkHW8UrWRpSf1nCG8QhYUhh1tOTngsLGzsHjVbTT3ArTezxWk/G2DTiGmUpD9IWka4xyOSrpX0rqTPJC2QNCZ5r0lJF0paJam3pFlxvxckdSuvE5LyJc2WdJ+kbWp7UpJOlzRT0npJ8yVdL0lx2+WS3k3se2IcuQ5KlI2XNDr+vqukh+K5lsZ6f5rWXnmvVQ9JU+O05AcZsn0716RNmFFMnxFTuXnie/QZMZUJM7bK/du8FBaG3G1FRWAWHvv39yBXQ42RD64u/Yxw5/5ebA7WXwJXAPOAbsAo4I/AeYnj8gg3bP4ZIRPAXwnJQU9Kb0DSN4HngEIzq9VNnmN9hxKykQ8BHgK+DdwNrIrnMgUYKWlXM1sGHAMsB44F7ojVHEW4kTKExK+vA8OBNYTccPdJmm9mUxJNb/FaScoBJgBLCKl7vkJ4nbat7Tm6unHWmOmN3YVaWbCylOJV9TuqypSx+6rxDX/5vFPbXDrvlFfrekbdMIhdk4lJAUpLWXbFIC5bu0et668L4y86vLG7UGVNPcCdIGlt4vnLZpYcZXyYHnTM7A+Jp3Ml/RJ4WNL5tvnO0tsCF6cygEv6AyHIbEHSYcBTwO/NbHgV+jtA0oVpZemv8SBgkpmlMmvPlvR14BeEADQT+JQQ2B6Jj3cA18fRYw9gN+IozMzmA7cn6r87ZkA/mxAsU7Z4rSR9P9bVx8wWxLJrgBercJ7ONQkd27ame4c2AHTv0IaObVszd/lnlRzVdO28Ymm1yl3FmnqAmwr0TzxPz532evoB8c39euAbwI6EZKmtgV0JCUEhZBX/KHHYQiBX0o5mtiaWdSWkuPmVmY2oYn8LgfQ88CexeeQFsDchXU7SNGCwpDwzK5U0FThG0tNAz1jHZcCBwMHAB2a2OJ5vq3i+ZxASwW4ff55PayP9tdobmJ8KbtF/8CwBTUZz+qScyYjnZzNy8px6bWPRqjLmLCnZNIJbtKpG6RVr7fSDujCwd4/aVzSsa5iWTJPTrWuz/3toDE09wJWa2YcVbN/io5qkPYAnCSOhwcAKQkbwcYSEoylfpNWTelNPXpNcBhQDP5Z0v5mtrkJ/V6f3V9KStH1E5iCSLJsCXAIcCbxvZsslvUSYpjyILUdmvwCuJExZzgTWArcB6Tnu0j/WZkoxYeWUO1dtA3v3qJs3/QpMmFHMGWOm061dHkUrShl+2v707dmpXtusV0OHhmtuyWnKvLxQ7qqtqQe46jqEMGIbZGYbAST1rWFdZcDJhCnK5yX1rmKQq8wswnWwpF5AUUzECiGA/Qk4i83BbApwKnAAm6+/pY59wszGAcTFKl8HFlehH10l7W5mC2PZYdU8F+caVd+enThir535ZEUZXdq1pn2b3MbuUu0UFITHwYNh/nzo2jUEt1S5q5ZsC3BzCOd0haQngCOAy2taWZwuPImQNfs5SX3qIMjdAfxH0o3AeMIik4GEzNspMwkLS84BTo9lUwgj022I19+i2cCPJB0BrCSM5rpQeYB7FvgQeFDS1YRFJrcDG2t6Ys41hvZtcpt/YEsqKPCAVkea+tcEqsXM3gSuBq4ljFD6EVZL1qbOUsI1sDLg2eRXDmpY36vAmYTR2UzCNbtbSSxyiYthXiL8+0yNZXOARSSuv0W/Ad4gBKyXCKsxx1ehH18CfQlTt68CDxBWdqZP3zrnXLOkzQsLnasW/8NxzjUF5a4byKoRnHPOOZfiAc4551xW8gDnnHMuK3mAc845l5U8wDnnnMtKHuCcc85lJQ9wzjnnspIHOOecc1nJA1wNSRor6cnG7odzzrnMmkWAq+9gEjN2m6SD66uNmpA0RNLMxu6Hc841R80iwDnnWq6lJet4o2glS0vqNzt4jRQWQn4+5OSEx8LCxu6RS2h2AU7SIZKek7Rc0hpJ0yQdnth+f/poT1KOpPnxrvlVbWc/SZMklUlaEUeRW91oWdKVkoolrZT0gKS8xLYpku6S9NvY36WSbpeUk9jnVEnvJNp5SVIHSf2Am4BvxtGlxTIkdZX0uKSS+POYpM6JOodIminpbEkfxX0mSNolre/nSZolaZ2k2ZIGJvvmXGObMKOYPiOmcvPE9+gzYioTZhQ3dpc2KywMuduKisAsPPbv70GuCWmO6XLaAA8S0sIYIdP1vyR1N7PlwL3Ay5I6mtmieExvYLd4XKVikHoGeA04FGgX670fOC2x65GEO/wfT0hR8zAhfc2wxD4FwEhC6p4DgL8R7v7/d0m7AQ8RMnL/g5CyJpWTbTywLyEn3TGxbHXM9zYBWAd8N74Go4AJkg6xzXfPzidkLPgRsENsZyhwUTzHnwM3E9IJvRHbupeQTWBUVV4nVztnjZne2F2olQUrSyleVb+jqtxWOUy8vNemjN2n3DmNq8a/Va9tJnVqm0vnnfIybht1wyB2TSYmBSgtZdkVg7hs7R4N0Lu6kc2ZwptdgDOzF5LPJV1OCDonAOPMbLqkD4CfAcPjbucD/zSzZVVspoAQbM41s5LYTn/gRUl7JbJ2rwEuMbMNwPuSHgGOY8sAN8vMfh1/nx0Dy3HA34HdgW2BR80slad+0zU3SWuBDcn0OJJ6A98C9jSzebHsJ4TcbscBk+KurYB+qfx1ku4Bzkv060bgOjN7ND6fK2k4MAAPcK6J6Ni2Nd07tAGge4c2dGzbmrnL05PTN46dVyytVrlreM0uwElqD9wCHAt0ICQAbQ10Tex2L+GNerikdsAPCSOZqtobeCcV3KJXCMlA9yEEEwjBa0Nin4WEBKZJ76Q9Xwi0j7+/TQhIMyU9F39/tJJAvDewMBXcAMzsY0kLY99SAa4oLTnrpnYl7UoYcY6RNDqxTysqSD3h6lZz/+Q84vnZjJw8p17bWLSqjDlLSjaN4BatKqvX9tKdflAXBvbukXnjsK5hWjJNTreuzf7fNls0uwAH/IUQ2AYC84D1wGRC4s6UB4HbJPUCehKyY38otQYAACAASURBVD9XjTZE+fnOkuXpyUGNra9rlruPmX0pqQ9hWrIPcAEwTNLRZvZ2PfYt9XgxIXA7V20De/co/82/jkyYUcwZY6bTrV0eRStKGX7a/vTt2ale26yyoUPDNbfkNGVeXih3TUJzDHC9gCvM7CkASR2AjskdzGyFpMcIU5M9gbExg3VVzQLOl9QmMYo7ghAY3q/tCaT11YDpwHRJNwPvEa6dvQ18Thihpvetk6T8xBTlHoTpzllVbHOJpGLCNOdf6+REnKsHfXt24oi9duaTFWV0adea9m1yG7tLmxUUhMfBg2H+fOjaNQS3VLlrdM0xwM0GzpH0X8Liid8RAkG6ewkLRbYFTq9mG4XAb4C/Svo1sBMwBngscf2t1iQdRlig8iywhBCMu7A5UM0Dukk6EJgPlBCmIN8GCiVdQRjR3Qm8CWxxfbISQ4A7Ja0C/kV4nQ4EOpnZsIoOdK4htW+T27QCW1JBgQe0Jqy5LAnPAVLXus4nLAB5g7Ay8H5CIEg3BVgATDGzj6pQP6k2zKwU+B6wI/Aq8ARhlHV+TU+gHKuB7wBPAnOAO4BbzGxc3P4PQvCZDCwDfhxHfH3j8ynAi8BioG9iBWWlzOzPhPM5lxAwXwb6A3NrfVbOOdcEqBrviY0mLsD4yMwuqcYxrYFi4HIzq/CLKZKOAP4N7GZmS2rV2Zaj6f/hOOdagnIXxjXpKcr4xeTvAEcDd1fxmBw2L0IpAx6pYN/tgG7AdcC7Htyccy57NOkAR/jidHfCdbbHq3hMV8I02wLgPDPLdH0u5QjgKWAGcE4t+umcc66JaRZTlK5J8j8c51xTUO4UZXNZZOKcc85Viwc455xzWckDnHPOuazkAc4551xW8gDnnHMuK3mAc845l5U8wCXErN3p2cBPllQqqV5vER6zcFviZ5WkF+P9Kp1zzlWTB7gKSDqXcD/I681scAM0+T9CZoSOhDu4LAaellTjO81KypGUnpEgdRcX55qEpSXreKNoJUtL6jdDOIWFkJ8POTnhsbDCu/i5Zs4DXDkkXQn8GbjQzEambTtP0ixJ6yTNljQw3iIstd0k9Zf0iKTPJH0sqSp3StlgZovjz3vAUKAt8LVE3V+VdI+kpZJKJL0k6eDE9n6S1kr6vqSZhEwLe6dGp5J+IWkBsEDSr+M+6ef+b0l/quZL5lyNTJhRTJ8RU7l54nv0GTGVCTOK66ehwsKQv62oCMzCY//+HuSyWFO/VVejkHQLMAg4NZV3LrHt58DNwOWEjAb7ElLzfAGMSuz6a+CXwPWERKb3S3rZzLZOAZy5D7mEO/0vJWZLkCTCrcVWAycDK4CfAS9I+rqZLYqH5wK/Ai4iZB1IlR8djz2B8O3/lcCvJR1qZq/GNr5OuIXZgKr001XsrDHTG7sLtbZgZSnFq+pvZJXbKoeJl/falLX7lDuncdX4t+q8nWmjB9I5mZwUoLSUZVcM4rK1e9R5e43Ns4p7gMukN3AScHJ6cItuBK4zs0fj87mShhMCQjLAPZhKeyPpRuBK4EigogC3t6S18fc8QgA63czKYtmxwAHAromyGyWdQgiGv4tl2xCyKLyRqjjERtYB55vZ+kT5M4S0Oa/GovOBNyrIKO5cnerYtjXdO7QBoHuHNnRs25q5yz+r83Z2X7M8Y/nOK5bWeVuuafAAt7WZwFeBmyT928xWpTZI2pWQkHSMpNGJY1qx9f3Q3kn9YmYbJC0D2lfS9kfA9+PvbQiZvZ+QdIyZvQkcRAh8y2LASskF9kw83wBk+gg8MxnconuBv0gaSJjOPBe4pZJ+uirKhk/RI56fzcjJc+qt/kWrypizpGTTCG7RqrLKD6qBhTvuQuc1y7Yqz+nWNSv+ndzWPMBtbRHwA0J27EmSepvZyrgtdZ3tYuCVSur5Iu25Ufk1z8/TMobPkNSXkPrn3Hj8EsJIMN2axO/rzezLDPtk+lj8FFAKnEaYvmwL/L2SfroWZGDvHgzs3aPe6p8wo5gzxkynW7s8ilaUMvy0/enbs1PdN7TfiHDNLTlNmZcHQ+t1gbRrRB7gMjCzYknHEILc5BjkPjWzJZKKgT3N7K8N1J0vCaM2gDcJue42mtnHdVF5HF2OJUxNrgYeS45anatvfXt24oi9duaTFWV0adea9m1qvGi4YgUF4XHwYJg/H7p2DcEtVe6yjge4cpjZohjkJhMWcRxnZsuBIcCdklYB/wK2BQ4EOpnZsFo220rSbvH31BTlPsBtsWwSIfP4E5KuAz4AdiMsGplkZi/XsN0/A78ANgJ9aliHczXWvk1u/QW2pIICD2gtiH9NoAIxw/ex8emLktqb2Z8Jo51zgbeBl4H+hCSrtfV1whTpIsI1tDOBS1KjRQvJ+75PGFneS/je3MPxuIU1bTSOBl8C5gNTat5955xrOjzhqQNA0iyg0MyqekHC/3Ccc01BuQlPfYqyhZPUHvgxkA+MadzeOOdc3fEA55YAy4GL4jVG55zLCh7gWjgzK3d475xzzZkvMnHOOZeVPMA555zLSh7gnHPOZSUPcM4557KSBzjnnHNZKesDnKQhmZJ6Ouecy25ZGeBS2avj09sJiT7ruo1tYnbs9yWVSlop6XVJV9R1W84556ovKwNckpmtNbNP66Hqm4Brgd8QsnofDdxJyCXX7EnarrH74FqGpSXreKNoJUtL6i9r+CaFhZCfDzk54bGwsP7bdI0m6wNc+hRlanQXR1+LJa2WNFxSTtx3aSz/RSVV/wC428weMrOPzewdM/uLmW1KFppo61eSlkhaK+kBSa0T+0jSdZI+klQm6V1J5yS250sySadJej6OFmdJ6p12nt+Q9M94PmslTZe0X2L7efG4dZJmSxooKSex3SRdKukxSZ8Bv63RC+5cNUyYUUyfEVO5eeJ79BkxlQkziuuvscLCkA+uqAjMwmP//h7kslhLvZPJUcAC4BigJ1AIHADMAHoB3wVGS5pkZm+UU8di4BhJHWLWgfIcDZQBxwGdgPsJ6W9SU5m3AqcDlxKyAxwO3CtppZk9lahnKGHEOAD4FfCQpG5mtlbS7sA0Qiqd3sAq4FBgGwBJPwduBi4H3iCMOO8lJGUdlWjjJuAG4Br8Zsp14qwx0xu7C7W2YGUpxavqZ3SV2yqHiZf32pTN+5Q7p3HV+EzJ6Gtv2uiBdE4mOwUoLWXZFYO4bO0e9dJmY/Is5S03wK0GLo1Zrz+QNAjY3cxOiNtnS/olIVVOeQHuauBRYJGk94HphPxwj9uWKRq+BM4zs7XAzDgyvE/S9Yl6+iRyuc2VdCgh4CUD3Agzmwgg6Qbgp4SgPC3u+xlwhpl9njqHxLE3AteZ2aOJNoYTgmUywI2P6YCcaxAd27ame4c2AHTv0IaObVszd3mmxPO1t/uazLda3XnF0nppzzW+lhrgZsXglrKEMOohrax9eRWY2SxJ+wIHEUZ9RxFysz0n6WQz2xh3fScGt5TpwHbAnsD2QC7wjKRkUNwWmJfW5DuJ31O531L96wlMSwS3TSTtCnQBxkgandjUiq3TTLxezum6GsqGT9Ejnp/NyMlz6qXuRavKmLOkZNMIbtGqsnppB2DhjrvQec2yrcpzunXNin8nt7WWGuC+SHtu5ZRVeI0yBrHX4s+IeO3sQUKwm1KFfqTqP4WQbLSiPm56bmYmKXl8RTdMTu1zMfBKJf2pn4/Orlkb2LsHA3v3qJe6J8wo5owx0+nWLo+iFaUMP21/+vbsVC9tsd+IcM0tOU2ZlwdDq5oC0TU3LTXA1ZdZ8fEribL9JO1gZqngcRjwOfARIfisB7qZ2Qu1aPdN4BxJ26WP4sxsiaRiYM9UZnDnmoq+PTtxxF4788mKMrq0a037Nrn111hBQXgcPBjmz4euXUNwS5W7rOMBroYkPUpY1PEKYcHJ14BhwFK2HCm1Au6XdDOwOzAcuDcV8CTdDtyuMCSbSgiOhwEbzeyeKnbnLsII7WFJQ4GVwCHA+2b2FjAEuFPSKsJ1wm2BA4FOZjasZq+Ac3WjfZvc+g1sSQUFHtBakGwNcDnAhnpu41ngLOCXQFtCYPs3cKGZrUjs9xLwHvAikAf8A7gusf1GwvW+a4DRwBrgLeB3Ve2ImRVLOgr4fWzHgHeB/nH7n+PS/2sJQbgs9mlU5hqdc67505YL/rKDpOeAj8zskkbux1hgFzM7uTH7UU+y7w/HOdcclbsGIau+6C1pF0k/JHz37PnG7o9zzrnGk21TlA8D3QnTe483cl+cc841oqyconQNwv9wnHNNQcuYonTOOedSPMA555zLSh7gnHPOZSUPcM4557KSBzjnnHNZyQNcEyKpn6S1le/pnHOuMk0mwMXs1xZ/voiZtV+MWaa3baA+zJN0TVrZzTHT9ikN0IXxQPZlXnTOuUbQZAJcNAnoCOQDfYCJwG+AlyXt0JAdkZQj6S5C5u0+qWSj9cnMysysSWRfbKgPFS77LS1ZxxtFK1laUs2s4IWFkJ8POTnhsbCwPrrnslhTC3DrzWyxmRWb2Vtm9gfgGMKd7zfdoFjSTpL+ImllHF1NkvTNxPZ+ktZKOk7STEmfxdHg16rSifjm/jfgVOCYRLZtJG0n6TZJC2K9r0n6XvJYSX+StFDSekmfxOzZqe2nSnon9nuFpJckdUj2O7HvkNj/syV9JKlE0gRJuyT2aSVpRHwtVsbfR0uakthHkq6LdZRJejfmrkttz48j5x9LekFSGXBRVV4r5yoyYUYxfUZM5eaJ79FnxFQmzCiu2oGFhSF3W1ERmIXH/v09yLlqafK36jKzmZKeAU4DborFY4GvAz8kpIYZSsiK3cPMUimBtweuB84H1gF/Ae4GvkfFdgCeJNzy6ztm9lHa9gcI2bh/AiwAvg9MlHSImb1NGPH9CDibkJW7c+wrknYDHor9+gebU+NUJJ+QteBHsW8PxfNNBaBrgH7AhcBMYEDs24xEHbcCpwOXAv8DDgfulbTSzJ5K7Dcs1ncBWydcdWnOGjO9sbtQJxasLKV4VTVHV1WU2yqHiZf32pSx+5Q7p3HV+LcqPW7a6IF0TiYmBSgtZcGAgfR6t22lx3dqm0vnnfJq2u0mybOOV1+TD3DRLOB4AEndgR8AR5vZ1Fh2LiEjdgHw53hMK+BSM/tf3Od24AFJOTETd3luIKST2cfMFiY3SNoT+DGQb2apDNyjJB1PCDgDgG7AbOBlC/dBm8/m/HC7E3KxPWpmRbFsZiXn3groZ2arYx/uAc5LbL8SuM3M/hG3X0UiiMep3asJ06ypkehcSYcSAl4ywN1pZo9W0h/nqqxj29Z079AGgO4d2tCxbWvmLq88cfzua5ZXq9y5TJpLgBOb7324N7AR2PTx2cxWS3oX2CdxzPpUcIsWEoJLWyCZry3dc8BxwE2SLrYtb9Z5YOzLrJCfdJPtgVRG7rGETAazY9qefwFPx6D6NuE648y4bRIh2C2roD9FqeCWOI/2AJK+CuwGvJraaGYm6TWgSyzaB8gljHCT57ItYYSZ9HoF/XBpsuUT9YjnZzNy8px6qXvRqjLmLCnZNIJbtKqs8oOAhTvuQuc1W/+3WLjjLhn23trpB3VhYO8e1eqryz7NJcDtA3wcfy/3xppseQPg9ISnqW2VXXd8CfgDYYHLNpL6J0Z8ObGeQ9h6Cq8MwMzelJQPnAB8lzA1+rak3mb2paQ+hGnJPoSpwGGSjo7Tm5mkt2MZzqGiGx+n9j2FMJqsqO7KP1q7rDOwd496CwYTZhRzxpjpdGuXR9GKUoaftj99e3aq/MD9RoRrbslpyrw8Ot81gnkFJ9VLX132afIBTtK+hGBxayyaRXjTPhxITVHuCOxHuD5Wa2b2oqQTCaOvbSRdEIPcDEKA3c3MXqzg+BLgEeCRmPT0P8BewOw4IpwOTJd0MyGz9lmE0V11+7la0mLgUEImbxSGlocAi+Nus4D1QDczeyFjRc7Vk749O3HEXjvzyYoyurRrTfs2uVU7sKAgPA4eDPPnQ9euMHTo5nLnqqCpBbjt40KMHGBXwlThDcAbwO0AZjZH0hPAGEn9gVWERRdrCCsf64SZvRxXRz5NCHLnmdlsSYXAWEmDgDeBdoSVnh+b2WOSrgYWAW8RRkg/iX1bIOkwwrXEZ4ElQE/CVOKsWnR1JHCdpNmxnosIX7VYFM+jJF5/vD0Gv6lsXtyy0czuqUXbzlWqfZvcqge2pIICD2iuVppagDue8Mb8JSFwzSR8D26MmX2e2O884I/APwnXl/4NnJBYQVknzOwVSb0JAenBuJjlPGAwIalqZ8L1vFeJIyigBLiWsArTCKO+E82sVNJq4DvA5YRrgZ8At5jZuFp083bCdbgHYnsPEJK9dkjscyMhoF4DjCYE3LfiOTjnXFbyhKdZSNKbwL/N7PJ6bMb/cJxzTUG56zKa2gjOVZOkboSvBbxE+PfsD3wrPjrnXIvlAa752wj8FPg94drlLMKUqC/5d861aD5F6WrK/3Ccc01BuVOUTe1elM4551yd8ADnnHMuK3mAc845l5U8wDnnnMtKHuCcc85lpRYT4CTNk3RNPbexRcLSpkbSwTGxaX5j98U55+pbswhwksZKerKW1RwC3FUHffmTpC8l/by2dTnnnKs/zSLA1QUzW2ZmpZXvWT5J2xOSqg4nZNBucJK2a4x2navI6vvGsr5zFywnB/LzobCwsbvkXHYEuDjtdnpa2RZTkhmeXyRptqR1kpZJelZSZXd2OZWQJHQosHdM5VNen3rEfu2XVt5f0nJJ20raRtJ9kuZKKpM0R9J1knIS+4+V9KSkX0haACyI5edIek1SiaSlkh6R1CmtrRMkfRDP8WVgq6Rfkk6V9K6k9ZI+kTRYadlcnavIa0NHsd0lF7N98QJkBkVFIZebBznXyFrkrbokHQz8H/AzYBrhzv7frcKhFwLjYmaAx+LzqzLtGFPrvE4Y8f0ysakAGG9mX0jaFigGzgSWEfK63QN8CtyXOOZoYDUhL14q+GwH3AR8AOwC3Ab8HTgqnmMXYAJwbzzX/QmJXJOvw0GEvHW3AoWEadwxhGwDd1bh9WgxzhozvfKdmqgFK0spXrWu3ur/9+hbaP3F+i0LS0tZMGAgvd5tW+ftdWqbS+ed8uq83saWLRnim5IWGeCAroTs1f+MyUmLqCThqKQ9gCMJAQrgr8DDkn5hZuvLOWwccLWk683MYtA5khjwzOwL4NeJ/edJOhD4MVsGuHXA+cl2zOz+xPaPJV0CvC+ps5ktAC4hZPC+IiZZ/UBSD+CWxHFXAy+Z2U3x+WxJ3YFf4AHOVVHHNcsylu++ZnkD98S5LbXUAPc8IajNlfQs8BzwWAx25TkfmGxmqUzZU4BSoC8wvpxj/k7I13YkIdHoTwiJUTcNByRdTBgJdgNaA9vGviXNTA+iMRDeBBxASLqaGtl1JUxj7g38x7a82Wj6MGRv4Km0smnATZJ2NLM15ZxXi9OcP12PeH42IyfPqbf6F+24K53WLN2qfOGOu9RLe6cf1IWBvbeabXduK9kS4Iytb7i5bbk7hyzXBxKm83oD1wO/lXSImS1M31/SNkA/YHdJGxKbcgjBKWOAM7OlkiYRRn1T4+OmCxOSziIkbr0GeIUwNXgp8KO0qj5L688OhCSsk4BzgaWEacqXCVOXUMENSJNVUf5Nk/1mylliYO8e9RoQXmtzI+1+c82W05R5eXS+awTzCk6qt3adq0xWLDIhXL/qmHoiqUPyeSZmtsHMXjCz6wnXp3YATi5n9xOAnYGDCSOm1M/JwHGVfK9sHHBGvN61X3ye0gv4r5mNMrM3zexDYM+K+h19gxDQbjCzqWb2AdA+bZ9ZwLfTFowclmGfXmllvYAFlYxmndvkkMGX8fnou1nfqTMmQbducM89UFBQ+cHO1aPmNILbUdIBaWWrzGwe8AJwqaRXgC+B3xKuW2Uk6WRCIJkKrACOBdoA75dzyIXA02b2Zlr5TEn/I0xf/nrrwwB4HLibcE3tVTNLzhXNBvpJOhH4EDibsKBkZXl9j+YD64HLJP0fYarxlrR97gYGAX+UdBchuF6cts8dwGuShgB/IywyGQTcUEn7zm3hqxf0gwv6NW4nnEvTnEZwRwIz0n5uj9sGAR8Tros9CvyZMG1XnlWEa2eTCKsQrwEuNLOX03eMo8GTY72ZPAKcl1zanxS/e/c4Icv2uLTNY4CHCcHlNSCfEHQqZGbLCCtA+xJGYTcRFowk95lP+FrDCYQFNAPZcjUnMWCfAZwGzCR8v284MKqyPjjnXFPnCU9dTfkfjnOuKfCEp84551oWD3DOOeeykgc455xzWckDnHPOuazkAc4551xW8gDnnHMuK3mAc845l5U8wDnnnMtKHuCcc85lpRYf4GLGbIs/GyTNlzRa0k4N1P7RkibHLN+lkj6SVChpxzpuZ4okvwWXc67FaPEBLppEyD6QT7ix8inAXfXdqKR9gGeAdwg3fN6XkKh0NbB9fbfvWqjCQsjPh5yc8FhYWNkRACwtWccbRStZWlJ/2cGdq0se4IL1ZrbYzBaY2XOE/G59kjtI6irpcUkl8ecxSZ0T24dIminp7DgKK5E0QVJFWR/7AJ+a2UAze9fMPjaz58xsQLyhMpK2kXSfpLmSyiTNkXRd8ubOcRT6pKQrJRVLWinpAUl5qe2ELAWXJkar+XHbUZL+K2mdpCWSRkjaLr2jLksUFkL//lBUBGbhsX//SoPchBnF9BkxlZsnvkefEVOZMKO4gTrsXM01p3Q5DULSHoQ78H+RKBMwgZCC57uEGw2PAibEJKmpGw/nA2cREpbuADwEDAUuKqe5xcCuko41sxfL2ScHKAbOJOS9OxS4B/iUkIIn5UhgEXA80IWQpWA2MAy4EuhByJyQSoWzTFIn4GngQUJC1z0JmRg2EjI0tAhnjUlPdN78LFhZSvGqykdW00YPpHNp6ZaFpaUsGDCQXu+2Lfe43FY5TLy8F907tGHOkhJOuXMaV41/q7bdzqhT21w675RXL3U3tOacCT4beIALTpC0FtgGyI1lyfQzxxPS3ewZ888h6SeEHG7HEaY4Ibye/cxsddznHuC8Ctp9BPge8IKkpcCrwIvAg6kRnJl9wZa55ubFbOQ/ZssAtwa4xMw2AO9LeiT2bZiZrZb0OVBqZotTB0gaQAiKA8xsYzzul8AYSTfGVD8ui+y+Znm1ylM6tm1N9w5tAOjeoQ0d27Zm7vLPKjzGucbmAS6YCvQHWgM/J4xk/pTYvjewMBXcAMzsY0kLgX3YHOCKUsEtWsjWmbY3MbMvCbnkfkUYGR4GXAsMlnSUmb0HIOliwrXBbrGP2wJFadXNisEt2fa3KznvvYHpMbilTAO2A/YiXBvMetnwKXvE87MZOXlOpfst3HEXOq9ZlrG8IotWlTFnScmmEdyiVWU17mtlTj+oCwN796i3+l3L4QEuKDWzD+PvV0h6EbgRGBLLRPn5z5LlX2TYVul1TjMrJkwTPhiD3WxCoOsn6Szgj4SkrK8QRmqXEqZBk2rSdlXPyzVxA3v3qFpQ2G9EuOaWnKbMy6PzXSOYV3BSuYdNmFHMGWOm061dHkUrShl+2v707dmpDnruXP3xAJfZb4CnJd1jZgsJWbM7ScpPTFHuAewet9UZM1spaRHwlVjUC/ivmW1a4i9pzxpU/TlhCjZpFnCmpJzEKK5X3PejGrThmrqCgvA4eDDMnw9du8LQoZvLy9G3ZyeO2GtnPllRRpd2rWnfJrfC/Z1rCjzAZWBmUyS9B/wKGECYgnwbKJR0BWHkcyfwJvBCTduRdBFwAPA4IaDkAj8F9gN+F3ebTRjJnUi45nc2YUXkymo2Nw84NK6eXAusIHwV4irgLkkjgT2A4cAov/6WxQoKKg1ombRvk+uBzTUr/jWB8v0BuEBSt7hKsi9hFeMUwkKQxUDfxArKmngVyANGAzMJ1wKPBn5qZuPiPmMIKyL/BrxGWKl5Rw3aup0wMptFOI+ucWr0RKAn8BZwP/B3Nq+0dM65Zku1e392LZj/4TjnmgKVt8FHcM4557KSBzjnnHNZyQOcc865rOQBzjnnXFbyAOeccy4reYBzzjmXlTzAOeecy0oe4JxzzmUlD3BNjKT8mJD04Hqo+8mY/NQ557Jekw9wMVt1Kgv1BknzJY2WtFMDtX+0pMmSlksqjdm6CyXt2BDtO+ecq5kmH+CiSUBHwn0YLwROIdwouF5J2gd4hpAX7VhgX+ASYDWwfX2371y9KCyE/HzIyQmPhYVVOmxpyTreKFrJ0pLKM4c71xQ0lwC33swWm9kCM3sOGA/0Se4gqaukxyWVxJ/HJHVObB8iaaaks+MorETSBEkVZXrsA3xqZgPN7F0z+9jMnjOz/2/v3uOsqur/j7/eo9IwNjaCgggMpEBqpSGaZuQlBc1LX0r58dXR1Cwsb0lY9gXNskgtDU3S0DJNp0RNMTLzCiKKlwDvGhgyXGUgQAeHi8rn98daBzeHM/dzZs45fJ6Px3mcOXuvvdY6m2E+Z629zv6ck8q4LelZSRcn2qmOo83d4usySRslfTG+PkbSk5JWS1ol6SFJe2doe4CkGZLWS3pDUvr7PTS2vV7ScknjJXVK7C+Lo9+1cf9WN1CWdKqk5+O5qJV0tyRP8lXMqqtDPriaGjALzyNHNhnkJs9ZwtDx07l8yqsMHT+dyXOWtFOHnWu9gkuXE/OwHUMiwackAZOB9YTM2AZMACZLOjBxx/++wAhCstAdgTuBccDZDTT3NrCrpCPMbGoDZaYRRndXxdeHASuBw2P9X4x9fS7u35GQwPQlQnbuS4ApkvYxs42Jen8JfD+WOxe4X1I/M1sSg9CDhCSpZxAykP8e2ASMjsdfDQwBTgSWAJcBhwL3JtroFLe/AewS38NfYrltwoiJMzu6C1mxeHU9S9Y0PbKaceMoetWnZUKqr2fxOaMY/HJFg8eVbl/ClPMHb87ofcL1M7hw0gtt7XaDWPw7bAAAIABJREFUelaU0mvnspzV316KIVt8ISuUAHeMpLWEhJ2phFTfT+w/CtgP2DORkPQUQv60IwlTnBDe7xlm9k4scxNwZiPt3g0cDTwuqZYQpKYCt6dGcIQAd66k7YFPAp8AfkMIencSAt3TZvY+gJn9NdmApDMJWbo/D8xI7LrRzO6KZb4X+/FdPspRtww4JyYqfV3Sj4CJki4ljMzPAr5pZg8l2lmcbNvMbkm8nC/pu7GuXma2RVlXHHZ/d2WLtqf0qOhM/+7lAPTvXk6Pis68tfK9rPfPuWwqlAA3HRhJGPF8mzBi+U1i/97A0lRwAzCz+ZKWAvvwUYCrSQW3aCnQraFGzexD4ExJlxBGhgcDPwDGSjrUzF4FniRcjzuQcI3uydje72I1hwP/SNUZs3H/DDgI2JUQjEqAyrTmNw8tzGyTpGfje0m935mJLNwQgmMnoB8hfUSntDrWSno52YCk/QkjuM8BXfgo7UQlacGwWBXLJ+zxj8zlusfmNVlu6U670OvdFRm3N2bZmnXMW163eQS3bM26Vve1OU4a1JtRQwbktA1X/AolwNWb2Zvx5wskTQUuBX4St4mG85Mlt7+fYV+T1yFjYtDbgdtjsJtLCHRnxMAxmzBi+zRhhDcT6COpPyHw/TBR3RTClOHZ8fkDQhLSTjRfU++3yfckaUfgIUIwPg2oJUxTPtnCvrg8MGrIgOYFhM+OD9fcktOUZWX0umE8C6qOa/CwyXOWMHziTPp0KaNmVT1Xnrgvwwb65VqX3wolwKX7KfCgpJvMbCkhQPSU1DcxRbkHsHvclzVmtlrSMuDjic3TCAFub+BaM1sfR1xjSVx/k9Q1ljk3dU0vjqIy/TscDDwey4gwhXlP3Pca8P8klSRGcYMJGbv/Qwhw78c65sc6diSMMP8Ty+9FCGhjzOytWObrrTsrrmBUVYXnsWNh4UKorIRx4z7a3oBhA3tySL+uLFq1jt5dOtOtvLTR8s7lg4IMcGY2TdKrfHQ96lHgRaBa0gWEEc71wGxikGgNSWcTpu/uIwSGUuAbwGcJi0BSphEWd7wX20xtGwtMTV1/A1YTFqB8W9IioCfwK8IoLt13Jc0FXo7vsQ9wY9x3A3AhcIOk64A9gCuBCWZWH/v+B+AqSSsIU7E/JlzDTFkIbADOk/RbQuD9WfPPjitYVVVNBrRMupWXemBzBaVQviaQya+BsyT1iaskhwErCIFlKmEF5LDECsrWeA4oIwSWVwjXAg8DvmFmdyTKPUmYGnwyXrcj9mG72B8gXEsjrOLcN9b3W8JU64YMbf+IsJDmRcKq0a+lFn7EKdOvAAOBF4BbCKsfk18FuCj24b74nOp/qi8rgNMJ5+01wrW45MId55wraGrb33+3DfNfHOdcPlBDOwp5BOecc841yAOcc865ouQBzjnnXFHyAOecc64oeYBzzjlXlDzAOeecK0oe4JxzzhUlD3DOOeeKUsEGOEkLJF3U0f0oJJL6xmSsBzTntXPOFbK8C3AxC7XFxweSFkq6UdLOaUUPJNyTMVf9ODzRD5O0QtKDkvZrRR2N5yLJH4uAHoTbfznnXEHLuwAXPUr4Q9sX+BZwAmnBzMxWpG4snGOfjn05DtgZ+KekT2SzAUl5kZ7GzD40s7fNLNPNn11Hqa6Gvn2hpCQ8V1fnpJnauvXMqllNbV3TmcGdKwT5GuA2xD+0i83sYWASMDRZIH2KUtJOcaS3TNJ6Sa9LGpHY/3VJL0vaIGmRpLExDU1TamNfniNkDNiNkIYGSZ0kXSVpsaT3JD0v6ei4ry/hJscAK+JI7ta4b1rs69Xxbv9Pxe2Vku6TVBcf90rqlfa+j5P0rKR1kv4raYqk0qb60xw+RZmHqqtD/raaGjALzyNHZj3ITZ6zhKHjp3P5lFcZOn46k+csyWr9znWEvE+XE/O6HcPWyUqTZQQ8SBhhnUlISPopQnobJA0C7gZ+DlQTpjcnAu8S0uo0VyqN8Q7x+Y+E7OKnEDJgHwtMkXQg4e79JwJ/JYwCVyWOBzgVuAn4UnwLAiYD6wnZww2YAEyWdKCZmaRjgPsJqXHOJPz7DeWjDyoN9sfMXmzB+yx4IybObLpQAZgwZjS71qdNVNTXs/icUQx+uSJr7ZRuX8KU8wdvzth9wvUzuHBSbmaqe1aU0mvnspzU3V6KJRN8scvXAHeMpLWEdDOpBFSNpXI5CvgC8Gkzez1um5/Y/33gCTO7LL6eG7NtX0wzA1xMVnoZUAc8J2lP4GSgr5ktjMUmSDoKONvMzpG0Km6vNbOVaVW+ZWajE/UPAfYD9kwkbT0FeBM4kjBteylwj5ldkqjnpVi20f4Qcsq5AtN1VW3G7bu/m/7r1DY9KjrTv3s5AP27l9OjojNvrXwvq204197yNcBNB0YCnYFvE0Ylv2mk/EBgWSK4pdsbeCBt2wzgMkk7mdm7jdS9IM5k7gjMA4abWa2kwwhpGl5Lm+n8GM1LsjorQx+XpoIbgJnNl7QU2IcQ4AYCtzZQ3/5t7E9RKZpP2FdUhmnJNEt3yu66pWVr1jFved3mEdyyNeuaPqiVThrUm1FDBuSsfudS8jXA1ZvZm/HnCyRNJYxeftJA+aaupYmG85c1ldfsCML04oq0QFgSjz2QradPm/PXIf3jcVv6mI3+uHw0bly45pacpiwro9cN41lQdVzWmpk8ZwnDJ86kT5cyalbVc+WJ+zJsYM+s1e9cR8jXAJfup8CDkm4ys6UZ9s8Gekjau4FR3GvA4LRtg4HFZlbXRNtvZZheBJhDCEq7mdnUDPsBNsbn7ZpoI9XHnpL6JqYo9wB2j/tSbR4J3NzK/rhCU1UVnseOhYULobIyBL3U9iwZNrAnh/TryqJV6+jdpTPdykubPsi5PFcQAc7Mpkl6FbiEzNeSHgOeBf4qaRRhkUk/YEczmwxcAzwv6SfAnwmjnNHAmDb0aa6kauBWSaMJQbYLcDgw38zuBWoIo6rjJE0B1pnZ2gaqfBR4EaiWdAEhWF0f601NMY4jLBp5M74PERaZTGxmf1whqqrKekDLpFt5qQc2V1Ty9WsCmfwaOEtSn/QdZrYJ+Aphuf0dwOvAdUCnuH82MJywqvEVwirEKwmrFNviTMLKxV8CbwB/Bw4lBDbMbAlhYco4YHlj7ZmZAcOAFcA0wlcM3gaGxX2Y2T+Ar8X3Ogd4gjCFuqk5/XHOuW2J4t9O51rKf3Gcc/mgwTUYhTSCc84555rNA5xzzrmi5AHOOedcUfIA55xzrih5gHPOOVeUPMA555wrSh7gnHPOFSUPcM4554pS3ge4DIlNG32dbyRNkDStGeXy+n0451yh6dAAJ+nWmEE6/fFMC6o5ELihjf2Ylmh7o6T/SLpC0sfaUm8Ltfl9OOec+0g+jOAeBXqkPY5t7sFmtsLM6psu2aQ/xrb7AT8EzqXh9DxZIyl1v8xsvQ9XbKqroW9fKCkJz9XVOWmmtm49s2pWU1u3Pif1O9fe8iHAbTCzt9Meq5o+LMgwZfkJSTdJqpVUJ+kJSQc0o6r62PZCM/sr8AjhTv3Jtj4r6VFJ6yStiiPQTyT2byfpakmr4+Na0lLlxNHijbHcCsINojO9jwGx7+sl/VvSsZLWSjoj7u8bR5wHpNVvkk5KvO4p6c5Enx6I2cyT5bd6NON8ufZQXR3ywdXUgFl4Hjky60Fu8pwlDB0/ncunvMrQ8dOZPGdJVut3riMURLqc5lJIZf0A8A5wPCFR6enA45I+ZWbLmlnPfsAXgQWJbWXAP4Hngc8TUtHcDNxCyFIAIQXPt+PjJcIosIqQuibpVOAm4EtkuFGopBLgPkI2gYMJmc2vJWTnbrbY56nA08BhhPx0FwGPxtx59YRRa8r2wGS2TsZacEZMnNnRXciKCWNGs2t92sC+vp7F54xi8MsVWWundPsSppw/eHNG7xOun8GFk17IWv3pelaU0mvnspzVn2tFkzG+yOVDgDtGUnqOtN+a2cWtqOsI4HPArmaWymJ9qaQTgNMIaWQaMjKOjnYgpNnZRAhQKVXAx4HTUklSJY0EpkrqFzOQXwj80szuivu/Bxydoa23zGx0I30ZAnwKGBpT7hDz3D3VyDGZ/C8hgJ6ZSrkj6WyglvAB4C4zeztVWNINQEUDfXYdoOuq2ozbd383Uw7e1utR0Zn+3csB6N+9nB4VnXlrZcF/znHbuHwIcNOBkWnb1rSyrkFAGbAiDOY2KwX2bOLYSYTM4TsBFwOr41Rlyt7AS2kZwJ8mBMJ94nRjD2Dz0MHMNkl6Fuid1tasJvqyF7A0Fdyi5/ko71tzDQI+CdSlnY8y0s6HpHOBU4AvmNl/W9hO3imaT9hXVIZpyTRLd9olq80sW7OOecvrNo/glq1Z1/RBbXDSoN6MGjIgp204lw8Brj6OfrKhhJBY9EsZ9r3bxLHvpPoh6VTgVUlnmNmtcb9oOAdaS69ZNfXRuLG2UlLBbnPkkrRDWpkS4AXCSC7d5uucko4kZD3/HzN7vYl2XXsaNy5cc0tOU5aV0euG8SyoOi5rzUyes4ThE2fSp0sZNavqufLEfRk2sGfW6neuI+RDgMum2UB3YJOZzW9tJWb2vqRfAFdIuiteq3oN+Kak8sQo7hBCEHndzN6RtIxwzexx2HxN8PNAs679JbwO9JS0u5ktjdsOYMtFQSvic/Ia2ufS6pkNnAysNLOMo+K44ORu4Adm9lAL++lyraoqPI8dCwsXQmVlCHqp7VkybGBPDunXlUWr1tG7S2e6lZdmtX7nOkI+rKL8mKTd0h67trKuRwnXqe6X9BVJn5T0BUk/lZRpVNeYPxNGUefF19WEkdef4mrKQ4GJwL2JEeh1wA8lnSTpU4SFIT1ouUeAfwO3SdpP0sHAr4EPYp+I1xifAS6W9GlJhwBXp9VTTRjR3i/psHg+DpV0jaT+kjoDfyOct7uT/wat6LPLlaoqWLAANm0Kz1kObindyksZ1GdnD26uaORDgDuKMMJJPua0pqK4kOJYwgjqZkKQuIuwYGNpI4dmqmsjMIEQsMrjKO5owjW654D7Cdfbvpk47BrC9+l+DzxLOL8tXs9tZpuArxFWTT4H3AaMIwS35JeUUm0/Twi2l6TVUw8cCswnjNLeiHXtDKwmjHb3Aoaz9b+Bc84VNMXFdS7Pxa8uvAAcYGZNLVJpD/6L45zLB1t91WrzDg9w+UnS1whTovOAvoQpSgEDLT/+0fKhD84512CAK7ZFJsWkHLiK8BWD1cA0YFSeBDfnnMt7PoJzreW/OM65fNDgCC4fFpk455xzWecBzjnnXFHyAOecc64oeYBzzjlXlDzAOeecK0oe4JxzzhWlggxwkrpLGi9pXsx4XSvpaUnnS/p4R/evLeI9Ix+TtFJSvaT/SKqWtFOW6m8oE/itkv6ejTaccy4fFFyAk9SXcJf8Y4BLgf2BLxNuNHwk8NUct98ph3XvQ8ga/hIheetngO8SMpS3KJu3KyLV1dC3L5SUhOfqFt/etFlq69Yzq2Y1tXXrmy7sXCEws4J6AA8Ci4AdG9ivxM+fAG4iZLCuA54g3MsxWf7rwMvAhljv2LQ6FgA/AW4hJGK9O24/iBBo1xNuDn0s4cvPhyeO3Qd4ILZdC/wF2K2R93YhsLgZ52AvQhaAd4C1hJs+fzbuKyEE/kXxPb1MyPOWOtbSHtPi+0vffngT/XDt4Y47zMrKzOCjR1lZ2J5F981ebPv99CH76vVP2n4/fcjum704q/U7l0MN/p0qqFt1SepCuKP/GDPLmDTULEa5kIvtAUIQOJ6Q4PN04HFJnzKzZZIGEe6y/3PCXf8PJNyV/13g+kS1349lDohVfxz4OyGtzWnA7oTUOMm+9iBkK/8DcBGwAyEjwN8kHWwhY0C6t4FdJR1hZlMbOAe7AzMIaYGGEILu54HtYpHvAT8AvgP8CzgVuFfSIDN7IZZ9jjACfhHYGB97A13i+4FEQtRCNWLizKYL5bkJY0azazLZKUB9PYvPGcXglyuy1k7p9iVMOX/w5ozeJ1w/gwsnvZC1+pN6VpTSa+eynNTdnooma3wRK6gAB/Qn3Jbl38mNkhYDqf/td5jZdwhTfJ8DdrWQOw3gUkknEP6I/5IQuJ4ws8vi/rkxAejFbBngnjCzXybaO5sQUM6Kdb8qaRxbpsb5LvCimV2cOO4bhMBxACHIpLubEMAfl1Qby0wFbjezVILTcwk3YR5uIaUPwNxEHRcBV5vZn+PrH8fcdRcRgl2qnv+a2duJvq0DNiS3uY7XdVVtxu27v7syq+30qOhM/+7lAPTvXk6Pis68tbKpxPPO5bdCC3AN+RIh4NwEpLI1DgLKgBVhMLdZKbBn/HlvwigvaQZwmaSdzOzduO1faWX2Al5JBE4I+d+SBgGHSlqbob97kiHAmdmHwJmSLiFcVzyYMBobK+lQM3sVGAjMSAS3zeJClN0Jo7v093Rshn4UtaL4hH1FJdTUbLV56U67ZLWZZWvWMW953eYR3LI165o+qJVOGtSbUUMG5Kx+51IKLcC9Sbg+tFdyo5m9BSApOZdTQshmnSmTdypwiYZvGpzcnv5RtrHjku0/QBg5pVve2IFmtgS4Hbg9Bru5hEB3Bo3cWDRZRTO3uXw3bhyMHAnJacqyMnrdMJ4FVcdlrZnJc5YwfOJM+nQpo2ZVPVeeuC/DBvbMWv3OdYSCCnBm9l9JDwPnSbrezDKNjlJmEzJWbzKz+Q2UeQ0YnLZtMGGhR10jdb8OfENS58Qo7vMZ2v9/QI2Zvd9IXY0ys9WSlgGprz/MBk6V1Cl9FGdm70paGt/D44ldgwnvFcL1Nvjomh2J7enbXEerqgrPY8fCwoVQWRmCXmp7lgwb2JND+nVl0ap19O7SmW7lpU0f5FyeK7ivCQDnEPo9S9LJkvaRNEDSycB+wIex3KOEqbr7JX1F0iclfUHSTyWlRnXXAIdJ+kmsowoYTbg+15jq2M7Nsf2jgDFxX2qk9FvCKs5Jkg6StIekoyTdJKk8U6WSzpZ0o6ShkvaU9GlJVwGfBSbHYjcQgt1dkg6U1C+eh8/F/b8CLorbBki6nDCKvSburwXWAUfH7xN+Im5fAHxG0qck7SJphybOgWsvVVWwYAFs2hSesxzcUrqVlzKoz84e3FzxaGyJZb4+gN2A6whTlhsIS+WfB/4PKE+UK4/lFhNGKIuAO4E9E2VSXxNI7c/0NYGLMvThYMLXAzbE5xMJwe2gRJn+wD2EhKXrCItjrgc6NfC+BgK3Af+J5f8LPAOcllbu08A/4vuuA54GPmNbf01gY3xvw9KO/xawkBCkp8VtuwIPx/r8awLOuULR4N8pT3iaJZL+B7gP6GZm2V3ilp/8F8c5lw8aXJdQUNfg8omk04H5hJHSZwjfg5uyjQQ355zLex7gWq878FOgB+EL2g8Qvj/nnHMuD/gUpWst/8VxzuWDBqcoC3EVpXPOOdckD3DOOeeKkgc455xzRckDnHPOuaLkAc4551xR8gCXI5L6SjJJB3R0X5xzblvkAS5B0q0xKJmk9yXVSpoq6dxc3JtR0jRJEzJsP6OBNDvOOeeayQPc1h4lfHm7LzAUmEL4QveTknbswH61K0mdOroPLqquhr59oaQkPFdXN3VEq9TWrWdWzWpq69bnpH7n2psHuK1tMLO3zWyJmb1gZr8GDgf2B36YKiSpk6SrJC2W9J6k5yUdnYsOxZHl3yV9T9ISSasl/VFSWaLMoZKekbRW0juSnpX0mcT+QyQ9Iak+1nFjTJCa2j8tbrta0gq2TprqOkJ1dcgHV1MDZuF55MisB7nJc5YwdPx0Lp/yKkPHT2fynCVZrd+5juC36moGM3tF0j8JGQMui5v/SMjMfQohW8GxwBRJB5rZiznoxpeAZcBRQG/gLkIi1CskbQ/cD/wBqAJ2IATkDwEkfZaQKeAyQiaBLoR7Z94CnJRo41RCVvQv0bzEqnltxMSZHd2FNpswZjS7JpOdAtTXs/icUQx+uSJr7ZRuX8KU8wdvzuh9wvUzuHDSC1mrP13PilJ67VzWdME8VRTZ4rcBHuCa7zVCcEHSnsDJQF8zWxj3T4h54c4m5KzLtneB75rZB8Drku4GjgSuAHYCKgg3e/5PLP9G4tgfAJPMLJUTDknfBeZI6mZmtXHzW2Y2Ogd9d63UdVVtxu27v5vde3r3qOhM/+4hTWH/7uX0qOjMWyvTE9k7V1g8wDWf+Oj+i/vH169JWwx0PsaWmbSz6bUY3FKWAgcBmNkqSbcCD0l6DHgMuNvMFsWyg4B+kkYkjk91fE9CElSAWTnqe4coik/ZV1SGack0S3faJavNLFuzjnnL6zaP4JatWdf0QW1w0qDejBoyIKdtOOcBrvn2IaTHgXDt0oADgffTyrXkL8O7hKzf6SqAd9K2pbdjJK6hmtmZkq4FjgG+CoyTNMzMHorlfg+Mz9BW8mKLf2TPN+PGhWtuyWnKsjJ63TCeBVXHZa2ZyXOWMHziTPp0KaNmVT1Xnrgvwwb2zFr9znUED3DNEBdrHAP8PG6aQxgB7WZmU9tQ9b+BYyXJtkzrsH/c1yLx2t+LwFWSHgROBx4CZgOfNrM329BX1xGqqsLz2LGwcCFUVoagl9qeJcMG9uSQfl1ZtGodvbt0plt5aVbrd64jeIDb2sck7UYY9exKuM41hjB9dzWAmc2VVA3cKmk0IYB0Iay2nG9m9zazrRuB84DrJd0MrCcsVjkZ+J/mdljSJwnX/v5GGJHtAewb6we4CnhG0u+AiUAdsBdwgpmd3dx2XAepqsp6QMukW3mpBzZXVDzAbe0owmrFD4E1wCuE78FNNLONiXJnAmOBXwK9gFXAc0CzR3RmNl/SoYSR4cNAKWFxyHAz+0cL+lwPDADuBnYBlgPVhMCGmb2UaOcJYDvCdOt9LWjDOecKiic8da3lvzjOuXzgCU+dc85tWzzAOeecK0oe4JxzzhUlD3DOOeeKkgc455xzRckDnHPOuaLkAc4551xR8gDnnHOuKBVdgJNkkk5q7ut27NcZkta29rVzzrmWKZgAF7NaW+KxMma53iutaA9gSo768HFJ70uqStv+h9inQWnbn5L0p/hyEuEekc3V0vLOOecSCibARY8SAlgPYCjQmbT7KZrZ22a2IReNm9la4HngiLRdhwMLk9sllRHS6UyNx65LJBZtTlstKu+KWHU19O0LJSXhubo6J83U1q1nVs1qauvW56R+59pboQW4DTGAvW1mswn5zfaS1DlVoCVTkJIelzQhbdtOkuolfb2Bw6ayZSCrJNxs+Rq2DHyDgR2ICVBbOuWYYcpyT0n3S3pb0nuSZks6Pu2YBZJ+HEe7dZIWSRohqULSnZLWSponaWjimB0k/UbSUkkb4jFXNrefLseqq0M+uJoaMAvPI0dmPchNnrOEoeOnc/mUVxk6fjqT5yxp+iDn8lzBZhOQVA6MAF42s9amH74Z+K2k0YlR38nAWhqe5pwKjJFUaWapUdtzwIPAzyVtHzNvHwG8ZWZbp2NunY/HNi4hJFUdAdwraV8zeyNR7sJYZhzwHeA2QpC9M27/P+CO2P/1wAXA14D/BRYQgvWnstTnDjdi4syO7kKbTBgzml2TyU4B6utZfM4oBr9ckbV2SrcvYcr5gzdn9D7h+hlcOOmFrNWf1LOilF47l+Wk7vZSFNnitwGFNoI7Jo5C1hKyYR8GnNKG+u4FNhH+wKd8E/iTmaVn0E55CtjIR6O1I4BpZjaPkGdtUGL7423o2xbM7EUz+52ZvWxmb5rZOEIeuvTR6kNmdkPsz2XAx4A3zexPMeHpzwh57j4Ty/cB5gJPmtlCM3vazP6YrX67tum6KvMs9e7vrsxqOz0qOtO/ezkA/buX06OicxNHOJf/Cm0ENx0YGX/uApwDPCzpIDNb1NLKzGyDpNsJQe1OSfsAnyfkemvomHWSniUEsNsI19/OirufAI6Q9Coh0P2mpX1qiKQdCQHreMI1yB0I+eNeSiu6+bWZrZVUD7yc2L88PneLz7cCjwBzJT0M/AN40Mw2ZavvHangP2lfURmmJdMs3WmXrDazbM065i2v2zyCW7amtZMiTTtpUG9GDRmQs/qdSym0AFcfRyEASJoFvEMIepe2ss7fAy/Fa2lnATPN7LUmjnkcOCNm0u4BPB23P0EYDb5IOLfNTn7aDFcDxwAXAfMISU7/BHRKK5c+8rS0bak8biUAZjZbUt9Y95cJQftFSUOKJcgVtHHjwjW35DRlWRm9bhjPgqrjstbM5DlLGD5xJn26lFGzqp4rT9yXYQN7Zq1+5zpCoQW4dEaYYmz1hL6ZvRpHZN8GTiVk6W7KVMJo6izgucQ1wGmExSavA2+Y2bLW9iuDwYSp078CSCoF9iRML7aJmdURsoHfLelW4BmgXzbqdm1UFb+RMnYsLFwIlZUh6FVVNX5cCw0b2JND+nVl0ap19O7SmW7lpVmt37mOUGgB7mOSdos/7wycR1h80dbvvd0M/I4w0pnUjPLPEBZ6XABcl9poZv+WVEcIfHe0sU/p5gJfk3R/7OdlhCnKNpH0fWAZ8EKs9xTC9c3Fba3bZUlVVdYDWibdyks9sLmiUmiLTI4i/DFeBjxL+J7ZcDOb1sZ6JxEWjtwVRzONiisuZwLlhFFb0hNxe9YWmETfB2qBJwmrKZ+JP7dVHfADwkrQ2cDngK+YWX2jRznnXJ6TmTVdqshJ2p3wRe3DzOypju5PgfBfHOdcPlCDO7blACdpB8IikXHAXmZ2YAd3qZBsu784zrl80mCAK7Qpymz7IlADHERYZOKcc65IbNMjONcm/ovjnMsHPoJzzjm3bfEA55xzrih5gHPOOVeUPMA555wrSh7gnHPOFSUPcNugmBj1oo7uh3PO5VLWAlzMIm2Jx0pJf5e0V5bqn5aefbuRst0lXSfpPzFL9RJJD0o6Nht9KQIHAjd0dCeccy6Xsj2Ce5RwZ5AewFCgM3BfWypP3dFZAAAUk0lEQVSUtL2kBr/nkKF8X8I9FY8mZK/el3APywcIN1TeZknqBGBmK/xekzlSXQ19+0JJSXiuru7oHm1WW7eeWTWrqa1b39Fdca5dZDvAbTCzt+NjNjAe2EvS5vTAknpKulPS6vh4QFL/xP6fSHpF0hmS/gNsIKRyOQw4NzFC7NtAH24gfPHvADO7y8z+bWavm9kEYL9EO9+X9JKk9+II7/eSKhL7z4jZw78i6Q1J9ZL+JukTkk6SNE/SO5JuT3t/0yT9Lo4gU+/xV5JKEmVOlfS8pDpJtZLultQzsf/w+B6PlPRsbPtfkvZPvlFJh0h6Iu5fIulGSTul9eVGSVdLWkHIRr7VFKWksyXNlbRe0gpJD0kqtEwTHa+6OuRuq6kBs/A8cmReBLnJc5YwdPx0Lp/yKkPHT2fynCUd3SXnci5nf8QklQMjgJdT+dIklRFyqT1NCFgbCQk8H5W0d2JU8UlC2pbhscwiYHfgDWBMLLMiQ5tdCIk7LzGzten7zWx14uUm4EJgPtAHuD4+TkuU+RgwGqgiJBb9K3APsB44EegK3EvILH5N4rgqQqbsLxBGkDcTMiD8Ou7vREh38wawC3AV8Bfg0LQuXwFcHI+9DqiWtI+ZmaTPAg/Her5FyHB+LXALcFKijlOBm4AvkeEb/5IOAH4LnA7MACoIiU/z2oiJMzu6C1uZMGY0u9anDYzr61lxwWjOW7tHg8ctXl3PkjW5HVWVbl/ClPMHb87YfcL1M7hw0gs5a69nRSm9dm51msYOV/CZ4B2Q/QB3jKRUYNmREJiS173+l/BH9kyL9wiTdDYhDczxwF2xXCfgNDNbnjpQ0kZCRu+3G2m/X6z/9aY6ambXJl4ukPRD4H5JpycyWW8PnGtm/459+DMwCuhuZivjtvuBI9gywC0DLojv8Q1JAwjpbn4d274lUXa+pO8Cr0vqZWbJPGyXmtnU2M7lhADUk5Cr7QfAJDPb3G6sZ46kbmZWGze/ZWajGzkVlcB7wN9iqqAaQkZy10JdV9W2aHt76lHRmf7dywHo372cHhWdeWvlex3cK+dyK9sBbjowMv7chTCyeVjSQWa2CBhEGJ3VpV1WKyNkp05ZnAxuLdCSa3VfJlyj2xv4BLAdIbDuBiyNxTakglu0HHg7FdwS2/ZJq/6ZVACPZgI/k7STmb0bpxovI+Re65LodyVbJhp9KfFzqk/dYplBQD9JI5JvKz7vSfjQADArw9tPeoQQ1N6S9BBhVHhvc/LidaS8/IR9RWWYlkxT0qey0f6Of2Qu1z02L5c9Y9madcxbXrd5BLdszbqmD2qDkwb1ZtSQATltw7mmZDvA1ZvZm6kXkmYB7xCC3qWEa34vEEZy6VYlfm7tR8t5hJsA700ji1sk9SEsOrkZ+DHwX2B/wjRhp0TRD9IONULW6/Rtzb6WKWlH4CHCgpzTCIFoF0Ly0k5pxZNtpQJmSeL594TrnOmSF1gaPZdmVhcD7qHAEELQ/4WkA81saWPHujTjxoVrbslpyrKysL0Ro4YMyHkwmDxnCcMnzqRPlzJqVtVz5Yn7Mmxgz6YPdK6A5XohgRGudaUm42cDJwMrzWxNC+vaSBhlNdyY2ao4CjlP0m/Sr8NJqojtHkAIJqPM7MO47/gW9qcxB0lSYhR3MLA0jt4GEQLaGDN7K7b99Va0MRv4dPIDRWuZ2QeEDOSPS7qMj6aMb2pr3duUqqrwPHYsLFwIlZUhuKW2d6BhA3tySL+uLFq1jt5dOtOtvLSju+RczmV7FeXHJO0WH3sTFm18HJgS91cTpvTul3SYpE9KOlTSNcmVlA1YAHxeUl9JuyRXJaY5hzBV9y9JwyV9StJe8fpUaspvHuG9Xxj7cDJhwUm27A5cG9s+iXC9LDXSWkhYGXqepD0kHQf8rBVtXEU4H7+TNFBSP0nHS5rYkkriMd+LdfQhLO4ppxnXMV0GVVWwYAFs2hSe8yC4pXQrL2VQn509uLltRrYD3FGEBRbLgGcJXygebmbTAOIqyUMJKxfvJqwivA3YGVidob6kqwmjuNcIKygrMxWKo6L9CdeWriIEtceBrwJnxzIvAd8jLPx4jbAKMZt39qgmjDafJUyD/oEY4MxsBWHF4rDY9mWxHy0S38OhQF/gCcLCkCsIHyBaYk3sy6OEf4+LgG+Z2ZMt7ZNzzuUTT3iaZZKmAa+Y2Xkd3Zcc818c51w+8ISnzjnnti0e4JxzzhUln6J0reW/OM65fOBTlM4557YtHuCcc84VJQ9wzjnnipIHOOecc0XJA5xzzrmilJMAF2+nZTHXmHPOOdfuWhzg9FFG7YYet+agn3ktZs42SZdk2HdX3DehI/rmnHPbqtaM4HokHt/OsO172elaZpJ2yGX9bbAIOFOJRHeSuhLugbmow3rlGlZdDX37QklJeK6u7ugetUlt3Xpm1aymti632cGdKxQtDnBm9nbqQbhR7xbbzOydRPE+kh6RVC/pNUlDUjskHR5HNrsktm0xtZkoc6yk52JW76Ml/UTSK5JOl7RA0lpJf5TUSdI5khZJ+q+kXyezDkg6VdLzkuok1Uq6W1LPDH06UtKzsd//ivnSmvIgIXPC4YltpxJuuDw/WTCO+CakbbtV0t/Tytwg6ReSVsb+Xp32fr4u6SVJ6yStkvSEpO6J/WdLelPSxvj87bQ2TdLIeB7ekzRf0qnNeK+Fr7o65G6rqQGz8DxyZMEGuclzljB0/HQun/IqQ8dPZ/KcJU0f5FyRy3U+uHGEVDHnAJcAd0rqk56nrRmuAkYDbwJ1hHxufYH/IeQt6wn8lZCN+21gKLAXcBfwVNwHIQfcZYS75u8S6/0L4a78SVcAFxOyIlwHVEvaxxq/7cv7wJ+AbwJT47ZvAtfE59aoiu0fQsj+/WdChu6/SNoNuJOQoPSvhOB6cOpASV8DJgCjCFm6jwZukPS2mU1JtPFj4EexnrOAWyQ9aWZbp6bOoRETZ7Znc0wYM5pdk4lJAerrWXHBaM5bu0fW2lm8up4la3I/oirdvoQp5w/enLH7hOtncOGkF3LaZs+KUnrtXNZ0wTyRl1ngXU7lOsCNT/0xlTQG+AbhD/WMFtbzEzN7OPUizgJuB5wZR4yvSPoncBjQ08w2Aq9Lego4ghjgzOyWRJ3zY4641yX1MrPFiX2XmtnU2Nblsb89gWSZTG4h5KE7FxhACML30PoA95qZ/Tj+PDeOwI4kBOXdgR2AexLB6JXEsRcBt5vZhMTxgwiBOxngbjezOwAkXUqYYv4S0K4Brr11XVXbou35rkdFZ/p3Lwegf/dyelR05q2VjSZzd67o5TrAvZT4eWl87taKev6VYdvCtOnQ5cDcGNyS2za3F6caLyME2S58dA+zSrYMXg31u9EAZ2avS3qRkLX8c8CdZlafuCzXUi+lvV7KR+/nRUIOt1ckPRx/vifmmwPYmxBwk2YQrglmbMPMPpC0gtb9G7VJu3+6vqIyTEumKelTmdW+jH9kLtc9Ni9r9TVk2Zp1zFtet3kEt2zNupy3edKg3owaMiDn7TjXWrkOcO+nfjAzi3/oU9eQNsXn5F//hhaQZPoo+n7aa2tg23YAknYEHiIEgtOAWsI05ZOEqcuG6k5NSzb3euUthCnZPQjTgplsYusbhGZ675neTwmAmX0oaShhWnIoYXrxCkmHmdmLaX1Pr6NZbRS1cePCNbfkNGVZWdieRaOGDGiXIDB5zhKGT5xJny5l1Kyq58oT92XYwJ5NH+hcEct1gGtMaqTRI/Hz53LY3l6EgDYmZv1G0tdz0M4k4FpggZk920CZFYT3nbQfsKAlDcVrgjOBmXEq9VVgBGF09zowmC1HcYMJWcRdVVV4HjsWFi6EysoQ3FLbC8ywgT05pF9XFq1aR+8unelWXtrRXXKuw3VkgHuTsHz+J5J+RLhetdX3yLJoIbABOE/SbwlTeD/LdiNmVhdXZn7YSLHHgWslfRX4N3A20JsWBDhJBwNHEUaly4GBsY5UAPsVcLekWYRFJscQFq3kIqgXpqqqgg1omXQrL/XA5lxCh01Fmdn7wP8SpvJeBH4KjMlheyuA04FhhCBwGfD9HLX1ThMrRW9JPJ4C1gL3tbCZd4AvAn8H5hFWa/4stWDEzCYD5xNWUb5GWDxyTtoKSuecK1qe8NS1lv/iOOfygSc8dc45t23xAOecc64oeYBzzjlXlDzAOeecK0oe4JxzzhUlD3DOOeeKkgc455xzRckDnHPOuaLkAa7ApZK/tqD8VolmnXOuGHmAyyBm1zZJv8+w75dx398zHZuj/vxN0ofJjOht8DThRs//zUJdzjmXtzzANWwRMCKm2QFA0vaEVDsL26sTknoQkpyOB77V1vrMbKOZvd1EdvL8VF0NfftCSUl4rq7u6B61q9q69cyqWU1tXe4zhDtXDDzANewlwk2M/19i23HAemBasqCkAyU9LGmlpHclzZD0hcT+wyS9L+nwxLbvxLJ7NNGPM4B/Ar8Bviqpa0MFJR0taWN6GUm/iIlYt5qilPQJSbdLqpW0XtJ8SRc20af2V10d8rfV1IBZeB45cpsJcpPnLGHo+OlcPuVVho6fzuQ5Szq6S87lvY5Ml1MI/gB8E/hjfJ36OT0olQO3E+7Yb8B5wD8k9TezlWb2hKRfAbdL2o+QMfsawt395zfUuEKG2G8CPzSzhZKeJYwgr23gkEcJU4/Dgd8l6jgZuKGBY34OfBY4npAEti+wa0N9aosRE2e2+tgJY0azazI5KUB9PSsuGM15a5v6jJAbi1fXs2RN+4ymSrcvYcr5gzdn7D7h+hlcOOmFnLbZs6KUXjuX5bSNXGj37PAub/kIrnF/Bg6Q1F/SboScaremFzKzx83sdjN73czeIKSpWR/Lp1wGvA38Ptb7dzO7rYn2Dwe6AA/E138iZO7OyMw+BO4k5H1L+SJQGdvMpA8wx8yeM7MFZjbNzO5uol/truuq2hZtLzY9KjrTv3s5AP27l9OjonMH98i5/OcjuEaY2WpJ9xFGUWuAaXEktUU5Sd0IyVOPALoD2wGdCYElVdf7kk4hZN2uBb7cjC6cBdxlZhvj63uACZIOaiRb+B3A9yT1MbMaQrCbZmYNzWndCNwjaX/gEWCKmT3RjL61WJs+WV9RGaYl05T0qeywT+zjH5nLdY/Na5e2lq1Zx7zldZtHcMvWrMt5mycN6s2oIQNy3o5zueIBrmm3ALcRkpL+uIEytxEC2yhCVu4NwGNAp7RyBxNGzRWEacA1DTUqqQI4Eegk6duJXdsRFptkDHBmNkvSG8Apkq4mTFf+oKF2zOxBSX2ArxAWszwg6W4zO7OhYzrEuHHhmltymrKsLGzvIKOGDGi3ADB5zhKGT5xJny5l1Kyq58oT92XYwJ7t0rZzhcoDXNMeAzYCuwCTGygzGLjAzB4AkNSdsBR/M0l9gQnAuYSpy2pJh5jZBw3UWQWsAI5N2/4F4BpJF5rZew0cWx2PfwXYEfhrQ28OwMxWEq4h3i7pQeAvkr5jZhsaO65dVcVZ17FjYeFCqKwMwa2qqvHjisSwgT05pF9XFq1aR+8unelWXtrRXXIu73mAa4KZmaR9CdnPG/qDPxc4NS4C2RH4JSEoAiBpO8LU4RNmNlHSPcDLhOtylzZQ51nAPWa2xZe4Jc0FfgWMIIwuM7mDMGX6M+BvZvZuQ+9P0uXAbMLU6fbA14H5eRXcUqqqtpmAlkm38lIPbM61gC8yaQYzq2ssSBCu0X0cmEVY5HELYaoyZQzQj7hAxMz+C5wO/EjS4PTK4vWwgYRrbul92Qj8jUa+Exevvc0A9iMEu8ZsAMYBLwJPEVaEntDEMc45l/dUiN/3dXnBf3Gcc/lADe3wEZxzzrmi5AHOOedcUfIA55xzrih5gHPOOVeUfJGJaxVJ/yR8N9BltguwsqM7sY3xc97+8uGcrzSzYzLt8ADnXA5I+peZHdDR/diW+Dlvf/l+zn2K0jnnXFHyAOecc64oeYBzLjdu6ugObIP8nLe/vD7nfg3OOedcUfIRnHPOuaLkAc4551xR8gDnnHOuKHmAc64VJJ0j6S1J6yXNkvSlRsoeLul+Scsk1Ut6SdI327O/xaCF53wfSVMlLY/l50v6haRO7dnnQteSc552XH9JdZLW5rqPjfEA51wLSRoBXAf8gpC372ngQUmVDRxyCCHB7UnAZ4AbgZskndIO3S0KrTjnG4HbgKHAp4ALCfkYf5773haHVpzz1HGdCHkxp+e8k03wVZTOtVDM3P6SmX07sW0eIQP7/zWzjruA7czsxBx1s6hk6Zz/GviCmX0hR90sKq0955LGAxXAE8AEM/t4zjvbAB/BOdcC8dPpIODhtF0PE0ZqzbUTsDpb/Spm2TjnkvoBxxD+6LomtPacSzoOOB64IHe9az4PcM61zC7AdsDytO3Lgd2aU4Gk44EjyfMvyeaRVp9zSU9LWg/MA2YAY3LSw+LT4nMuqQdwM3CamdXltnvN4wHOudZJn9tXhm1bkfRF4M/ABWb2XC46VsRac85HAPsDpwDHAhfnoF/FrCXn/A7gRjN7Jrddar7tO7oDzhWYlcCHbP0pthtbf9rdgqTBwD+AH5vZjbnpXlFq9Tk3s0Xxx9ckbQf8XtKvzOyD7HezqLTmnH8ZOEzSZfG1gBJJHwDnmFm7z1j4CM65FjCzjcAsYEjariGEVWYZSToUeBD4qZldm7seFp/WnvMMSggf6rfLUteKVivP+WeBzyUePwbWxZ/vzk1PG+cjOOda7tfA7ZKeA54CvgPsDvwOQNIVwOfN7Mj4+nDgAeAGoFpS6lPxh2a2op37Xqhaes5PA9YTvp6xETgAuIKwAnBD+3e/ILXonJvZK8mDJR0AbErf3p48wDnXQmY2SVJX4BKgB/AKcKyZ1cQiPYA9E4ecAZQBF8VHSg3QN9f9LQatOOcfAP8H9CdMldUAvwXGt1unC1wrznne8e/BOeecK0p+Dc4551xR8gDnnHOuKHmAc845V5Q8wDnnnCtKHuCcc84VJQ9wzjnnipIHOOecc0XJA5xzzrmi9P8BB3PhFjLjsLsAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x417.6 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "player_names = data.apply(lambda x: x.FirstName + ' ' + x.LastName, axis=1)\n",
    "ax = az.plot_forest(trace, var_names='baseball_model/thetas', combined=True)\n",
    "ax[0].set_yticklabels(player_names.tolist()[-1::-1])\n",
    "ax[0].plot((hits/at_bats)[::-1], ax[0].get_yticks(), 'ro');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We can also look at other interesting posterior quantities. For example, what's the probability the batter with the highest average (Roberto Clemente) has a true hit probability that is higher than the batter with the lowest average (Max Alvis)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "clemente = trace.posterior['baseball_model/thetas'].values[..., 0].flatten()\n",
    "alvis = trace.posterior['baseball_model/thetas'].values[..., -1].flatten()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.935078125"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "(clemente > alvis).mean()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So, we are confident that Clemente (who is in the baseball Hall of Fame) is a better hitter than Alvis. In fact, at the end of the 1970 season Clemente had a .352 batting average (in 412 at bats) while Alvis finished with a .183 average (115 at bats)."
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
